package com.neuronbit.businessflow.intellij;

import com.intellij.lang.Language;
import com.intellij.openapi.fileTypes.LanguageFileType;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;

import javax.swing.*;

/**
 * The type Bpm file type.
 */
public class BpmFileType extends LanguageFileType {
    /**
     * The constant DOT_DEFAULT_EXTENSION.
     */
    @NonNls
    public static final String DOT_DEFAULT_EXTENSION = ".bpm";

    /**
     * The constant INSTANCE.
     */
    public static final BpmFileType INSTANCE = new BpmFileType();

    private BpmFileType() {
        super(BpmLanguage.INSTANCE);
    }

    /**
     * Instantiates a new Bpm file type.
     *
     * @param language the language
     */
    protected BpmFileType(Language language) {
        super(language);
    }

    @Override
    @NotNull
    public String getName() {
        return "BPM File";
    }

    @Override
    @NotNull
    public String getDescription() {
        return "BPM";
    }

    @Override
    @NotNull
    public String getDefaultExtension() {
        return "bpm";
    }

    @Override
    public Icon getIcon() {
        return BpmIcons.FLOW_ICON;
    }

}
